-- 部门管理表sql

DROP TABLE IF EXISTS `system_dept`;
CREATE TABLE `system_dept` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL COMMENT '部门名称',
  `sort` int(11) NOT NULL COMMENT '排序',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
	`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
	`delete_time` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '是否删除  -1：已删除  0：正常',
  `parent_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='部门管理';

-- 部门表的初始化数据

BEGIN;
INSERT INTO `system_dept` VALUES (1, '董事会', 1, '2019-01-18 17:00:23', '2019-01-18 17:00:23',null , '0', '0'), (2, '技术部', 2, '2019-01-18 17:00:23', '2019-01-18 17:00:23',null, '0', '0'), (3, '人事部', 2, '2019-01-18 17:00:23', '2019-01-18 17:00:23',null, '0', '0'), (4, '营销部', 2, '2019-01-18 17:00:23', '2019-01-18 17:00:23',null, '0', '0');
COMMIT;

-- 权限表的sql

DROP TABLE IF EXISTS `system_permission`;
CREATE TABLE `system_permission` (
  `id` int(11) NOT NULL COMMENT '主键',
  `name` varchar(32) NOT NULL COMMENT '菜单名称',
  `permission` varchar(32) DEFAULT NULL COMMENT '菜单权限标识',
  `path` varchar(128) DEFAULT NULL COMMENT '前端URL',
  `url` varchar(128) DEFAULT NULL COMMENT '请求链接',
  `method` varchar(32) DEFAULT NULL COMMENT '请求方法',
  `parent_id` int(11) DEFAULT NULL COMMENT '父菜单ID',
  `icon` varchar(32) DEFAULT NULL COMMENT '图标',
  `component` varchar(64) DEFAULT NULL COMMENT 'VUE页面',
  `sort` int(11) DEFAULT '1' COMMENT '排序值',
  `type` char(1) DEFAULT NULL COMMENT '菜单类型 （0菜单 1按钮）',
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
	`delete_time` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '0--正常 1--删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='菜单权限表';

-- oauth2 client表的sql

DROP TABLE IF EXISTS `system_oauth_client_details`;
CREATE TABLE `system_oauth_client_details` (
  `client_id` varchar(40) NOT NULL,
  `resource_ids` varchar(256) DEFAULT NULL,
  `client_secret` varchar(256) DEFAULT NULL,
  `scope` varchar(256) DEFAULT NULL,
  `authorized_grant_types` varchar(256) DEFAULT NULL,
  `web_server_redirect_uri` varchar(256) DEFAULT NULL,
  `authorities` varchar(256) DEFAULT NULL,
  `access_token_validity` int(11) DEFAULT NULL,
  `refresh_token_validity` int(11) DEFAULT NULL,
  `additional_information` varchar(4096) DEFAULT NULL,
  `autoapprove` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`client_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 角色表

DROP TABLE IF EXISTS `system_role`;
CREATE TABLE `system_role` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `role_name` varchar(64)  NOT NULL,
  `role_code` varchar(64)  NOT NULL,
  `role_desc` varchar(255)  DEFAULT NULL,
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标识（0-正常,1-删除）',
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_role__role_code` (`role_code`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

-- 用户表

DROP TABLE IF EXISTS `system_user`;
CREATE TABLE `system_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `username` varchar(64)  NOT NULL COMMENT '用户名',
  `password` varchar(255)  NOT NULL,
  `salt` varchar(255)  DEFAULT NULL COMMENT '随机盐',
  `phone` varchar(20)  NOT NULL COMMENT '简介',
  `avatar` varchar(255)  DEFAULT NULL COMMENT '头像',
  `dept_id` int(11) DEFAULT NULL COMMENT '部门ID',
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `del_flag` char(1) COLLATE utf8mb4_bin DEFAULT '0' COMMENT '0-正常，1-删除',
  PRIMARY KEY (`id`),
  UNIQUE KEY `index1_user_username` (`username`),
  UNIQUE KEY `index2_user_phone` (`phone`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='用户表';

-- 用户角色表

DROP TABLE IF EXISTS `system_user_role`;
CREATE TABLE `system_user_role` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `role_id` int(11) NOT NULL COMMENT '角色ID',
  PRIMARY KEY (`user_id`,`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='用户角色表';

-- 角色权限(菜单)表

DROP TABLE IF EXISTS `system_role_permission`;
CREATE TABLE `system_role_permission` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `role_id` int(11) NOT NULL COMMENT '角色ID',
  `permission_id` int(11) NOT NULL COMMENT '菜单ID',
  PRIMARY KEY (`role_id`,`permission_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='角色菜单表';

-- 角色部门表

DROP TABLE IF EXISTS `system_role_dept`;
CREATE TABLE `system_role_dept` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `role_id` int(20) DEFAULT NULL COMMENT '角色ID',
  `dept_id` int(20) DEFAULT NULL COMMENT '部门ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='角色与部门对应关系';

-- 角色部门表

DROP TABLE IF EXISTS `system_dept_relation`;
CREATE TABLE `system_dept_relation` (
  `ancestor` int(11) NOT NULL COMMENT '祖先节点',
  `descendant` int(11) NOT NULL COMMENT '后代节点',
  PRIMARY KEY (`ancestor`,`descendant`),
  KEY `ancestor_idx1` (`ancestor`),
  KEY `descendant_idx2` (`descendant`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 动态路由表
CREATE TABLE system_routes(
	`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '路由ID',
	`path` VARCHAR(255) COMMENT '路由路径',
	`service_id` VARCHAR(255) COMMENT '服务ID',
	`url` VARCHAR(255) COMMENT 'url代理',
	`strip_prefix` bit(1) NOT NULL COMMENT '转发是否去掉前缀',
	`retryable` bit(1) NOT NULL COMMENT '是否重试',
	`sensitive_header_set` VARCHAR(255) COMMENT '敏感头',
	`route_name` VARCHAR(255) NOT NULL COMMENT '路由名称',
	`enable` bit(1) NOT NULL COMMENT '是否可用',
	`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
	`update_time` TIMESTAMP NULL DEFAULT NULL ON UPDATE  CURRENT_TIMESTAMP,
	`del_flag` bit(1) NOT NULL DEFAULT 0 COMMENT '删除标志',
	PRIMARY KEY(`id`)
)ENGINE = INNODB DEFAULT CHARSET=utf8 AUTO_INCREMENT = 1 COMMENT='路由信息表';
BEGIN ;
INSERT INTO system_routes ( `service_id`, `path`, `url`, `strip_prefix`, `retryable`, `sensitive_header_set`, `route_name`, `enable`, `create_time`, `update_time`, `del_flag` )
VALUES
	( 'hope-auth-center', '/auth/**', '', 1, 1, '', '认证中心路由配置', 1, '2019-01-23 15:28:43', '2019-01-23 15:28:43', 0 ),
	( 'hope-upms-admin', '/upms/**', '', 1, 1, '', '权限管理路由配置', 1, '2019-01-23  15:28:43', '2019-01-23 15:28:43', 0 );
COMMIT ;